//#define _CRT_SECURE_NO_WARNINGS 1
//#include <stdio.h>
//#include <assert.h>
//
//void* my_memmove(void* dest, const void* src, size_t count)
//{
//	assert(dest && src);
//	char* tmp = (char*)dest;
//	if ((char*)dest < (char*)src)
//	{
//		while (count--)
//		{
//			*(char*)dest = *(char*)src;
//			(char*)dest = (char*)dest + 1;
//			(char*)src = (char*)src + 1;
//		}
//	}
//	else
//	{
//		while (count--)
//		{
//			*((char*)dest + count) = *((char*)src + count);
//		}
//	}
//	return tmp;
//}
//
//int main()
//{
//	char str[] = "hello world!";
//	my_memmove(str + 5, str + 3, 6);
//	puts(str);
//	return 0;
//}